// 封装一个request函数；用来发送异步的请求；使用Promise技术
// 定义一个全局变量用来表示发送请求的数量
let ajaxTimes = 0
export const request = params => {
  // 先拿到请求头对象
  let header = { ...params.header }
  // 判断url里面是否有/my/，有的话就给请求头对象header再添加一个属性Authorization
  if (params.url.includes('/my/')) {
    // 给header加一个Authorization属性，值从缓存中获取
    header.Authorization = wx.getStorageSync("token")
    // 或者写成header["Authorizaton"] = wx.getStorageSync("token")
  }


  // 开启加载小图标
  wx.showLoading({ title: '加载中' })
  ajaxTimes++
  const baseUrl = 'https://api-hmugo-web.itheima.net/api/public/v1'


  return new Promise((resolve, reject) => {
    wx.request({
      ...params,
      header: header,
      url: baseUrl + params.url,
      success: (result) => {
        resolve(result.data.message)
      },
      fail: (err) => {
        reject(err)
      },
      complete: () => {
        ajaxTimes--;
        if (ajaxTimes === 0) {
          wx.hideLoading();
        }
      }
    })
  })
}